27 research outputs found
On Synchronous and Asynchronous Interaction in Distributed Systems
When considering distributed systems, it is a central issue how to deal with
interactions between components. In this paper, we investigate the paradigms of
synchronous and asynchronous interaction in the context of distributed systems.
We investigate to what extent or under which conditions synchronous interaction
is a valid concept for specification and implementation of such systems. We
choose Petri nets as our system model and consider different notions of
distribution by associating locations to elements of nets. First, we
investigate the concept of simultaneity which is inherent in the semantics of
Petri nets when transitions have multiple input places. We assume that tokens
may only be taken instantaneously by transitions on the same location. We
exhibit a hierarchy of `asynchronous' Petri net classes by different
assumptions on possible distributions. Alternatively, we assume that the
synchronisations specified in a Petri net are crucial system properties. Hence
transitions and their preplaces may no longer placed on separate locations. We
then answer the question which systems may be implemented in a distributed way
without restricting concurrency, assuming that locations are inherently
sequential. It turns out that in both settings we find semi-structural
properties of Petri nets describing exactly the problematic situations for
interactions in distributed systems.Comment: 26 pages. An extended abstract of this paper appeared in Proceedings
33rd International Symposium on Mathematical Foundations of Computer Science
(MFCS 2008), Torun, Poland, August 2008 (E. Ochmanski & J. Tyszkiewicz,
eds.), LNCS 5162, Springer, 2008, pp. 16-3
Testing data types implementations from algebraic specifications
Algebraic specifications of data types provide a natural basis for testing
data types implementations. In this framework, the conformance relation is
based on the satisfaction of axioms. This makes it possible to formally state
the fundamental concepts of testing: exhaustive test set, testability
hypotheses, oracle. Various criteria for selecting finite test sets have been
proposed. They depend on the form of the axioms, and on the possibilities of
observation of the implementation under test. This last point is related to the
well-known oracle problem. As the main interest of algebraic specifications is
data type abstraction, testing a concrete implementation raises the issue of
the gap between the abstract description and the concrete representation. The
observational semantics of algebraic specifications bring solutions on the
basis of the so-called observable contexts. After a description of testing
methods based on algebraic specifications, the chapter gives a brief
presentation of some tools and case studies, and presents some applications to
other formal methods involving datatypes
Bringing introspection into BlobSeer: Towards a self-adaptive distributed data management system
Introspection is the prerequisite of autonomic behavior, the first step towards performance improvement and resource usage optimization for large-scale distributed systems. In grid environments, the task of observing the application behavior is assigned to monitoring systems. However, most of them are designed to provide general resource information and do not consider specific information for higher-level services. More precisely, in the context of data-intensive applications, a specific introspection layer is required to collect data about the usage of storage resources, data access patterns, etc. This paper discusses the requirements for an introspection layer in a data management system for large-scale distributed infrastructures. We focus on the case of BlobSeer, a large-scale distributed system for storing massive data. The paper explains why and how to enhance BlobSeer with introspective capabilities and proposes a three-layered architecture relying on the MonALISA monitoring framework. We illustrate the autonomic behavior of BlobSeer with a self-configuration component aiming to provide storage elasticity by dynamically scaling the number of data providers. Then we propose a preliminary approach for enabling self-protection for the BlobSeer system, through a malicious client detection component. The introspective architecture has been evaluated on the Grid'5000 testbed, with experiments that prove the feasibility of generating relevant information related to the state and behavior of the system
Peer-to-peer computing (Introduction to Topic 7)
Distributed systems have experienced a shift of scale in the past few years. This evolution has generated an interest in peer-to-peer systems and resulted in much interesting work. Peer-to-peer systems are characterized by their potential to scale due to their fully decentralized nature. They are self-organizing, adapting automatically to peer arrivals and departures, and are highly resilient to failures. They rely on a symmetric communication model where peers act both as servers and clients. As the peer-to-peer concepts and technologies become more mature, many distributed services and applications relying on this model are envisaged in the context of large-scale distributed and parallel systems. This topic examines peer-to-peer technologies, applications, and systems, and also identifies key research issues and challenges. Twenty-six papers were submitted to the track and we accepted six. We organized two sessions, the first devoted to the problem of query management in structured and unstructured overlay networks, the second containing a broader selection of topics
The characteristics and performance of groups of jobs in grids
Even though with few exceptions, grid workloads are dominated by single-node jobs, not all of these jobs are necessarily independent or unrelated. For instance, sets of jobs may be grouped because they are submitted by users in batches, e.g., to perform parameter sweeps. However, there is no reported data to confirm the presence and structure of these groupings, despite the large potential impact of such information. To address this lack of information, in this work we present a first investigation into the characteristics of groups of jobs present in grid workloads. First, we define three types of job groupings: batch, continued, and bursty submissions. Then, we analyze the characteristics of these groupings for three long-term traces from currently deployed grid environments. Notably, our results show that the various groupings are responsible for up to 96% of the total CPU time consumption. Finally, we present insights into the performance of real grids in dealing with grouped jobs
On-chip COMA cache-coherence protocol for microgrids of microthreaded cores
This paper describes an on-chip COMA cache coherency protocol to support the microthread model of concurrent program composition. The model gives a sound basis for building multi-core computers as it captures concurrency, abstracts communication and identifies resources, such as processor groups explicitly and where mapping and scheduling is performed dynamically. The result is a model where binary compatibility is guaranteed over arbitrary numbers of cores and where backward binary compatibility is also assured. We present the design of a memory system with relaxed synchronisation and consistency constraints that matches the characteristics of this model. We exploit an on-chip COMA organisation, which provides a flexible and transparent partitioning between processors and memory. This paper describes the coherency protocol and consistency model and describes work undertaken on the validation of the model and the development of a co-simulator to the Microgrid CMP emulator